﻿@using Huirui.Cavan.Domain.MainBoundedContext.SystemModule
@model Huirui.Cavan.Presentation.ViewModel.SystemModule.ISystemConfigViewModel
@{Layout = null;}
@using (Html.BeginForm(ActionConst.ADD, ControllerConst.SYSTEMCONFIG))
{ 
    <div class="tool_bar">
        <input id="syspara_save" type="submit" style="display: none;" />
        <a href="#" class="easyui-linkbutton" data-options="plain:true,iconCls:'icon-save'"
            onclick="javascript:$('#syspara_save').click()">保存</a>
    </div>
}
<table id="systemconfig" class="easyui-datagrid" fitcolumns="true" title="系统参数">
    <thead>
        <tr>
            <th field="Type" width="80">类别
            </th>
            <th field="Name" width="80">名称
            </th>
            <th field="Value" width="80">取值
            </th>
            <th field="Remark" width="80">备注
            </th>
        </tr>
    </thead>
    <tbody>
        @{
            if (Model.SystemConfigs.rows.IsNotNull() && Model.SystemConfigs.rows.Count > 0)
            {
                foreach (Huirui.Cavan.Presentation.ViewModel.SystemModule.SystemConfigJson scj in Model.SystemConfigs.rows)
                {
                    if (scj.Item.Contains("增值税纳税人身份"))
                    {
                        if (scj.Item == "增值税纳税人身份,纳税人类型")
                        {
                            continue;
                        }
                        var taxerType = Model.SystemConfigs.rows.FirstOrDefault(sc => sc.Item == "增值税纳税人身份,纳税人类型");
            <tr>
                <td>
                    @scj.StrType
                </td>
                <td>
                    @scj.Item
                </td>
                <td>
                    @if (scj.Value == "1")
                    {
                        <input type="checkbox" item="@scj.Item" checked="checked" datatype="@scj.DataType" id="@scj.ID"/>@scj.Description
                    }
                    else
                    { 
                        <input type="checkbox" item="@scj.Item" datatype="@scj.DataType" id="@scj.ID"/>@scj.Description
                    }
                    <select item="@taxerType.Item" id="@taxerType.ID">
                        @{
                    if (taxerType.Value == "1")
                    { 
                            <option value="1" selected="selected">一般纳税人</option>
                            <option value="2">小规模纳税人</option>
                    }
                    else
                    {
                            <option value="1">一般纳税人</option>
                            <option value="2" selected="selected">小规模纳税人</option>
                    }
                        }

                    </select>
                </td>
                <td>
                    @scj.Remark
                </td>
            </tr>
                    }
                    else if (scj.Item == "存货计价方法")
                    {
            <tr>
                <td>
                    @scj.StrType
                </td>
                <td>
                    @scj.Item
                </td>
                <td>
                    <select item="@scj.Item" id="@scj.ID">
                        <option value="1">先进先出法</option>
                        @*                        <option value="2">月加权平均法</option>
                        <option value="3">移动平均法</option>
                        <option value="4">取标准买价</option>*@
                    </select>
                </td>
                <td>
                    @scj.Remark
                </td>
            </tr>
                    }
                    else
                    {
            <tr>
                <td>
                    @scj.StrType
                </td>
                <td>
                    @scj.Item
                </td>
                <td>
                    @if (scj.DataType == SystemIdentifier.DataType.Bool.GetHashCode())
                    {

                        if (scj.Value == "1")
                        {
                        <input type="checkbox" item="@scj.Item" checked="checked" datatype="@scj.DataType" id="@scj.ID"/>@scj.Description
                        }
                        else
                        { 
                        <input type="checkbox" item="@scj.Item" datatype="@scj.DataType" id="@scj.ID"/>@scj.Description
                        }

                    }
                    else if (scj.DataType == SystemIdentifier.DataType.DateTime.GetHashCode())
                    {
                        <input type="text" item="@scj.Item" value="@scj.Value" datatype="@scj.DataType" id="@scj.ID"/> 
                    }
                    else if (scj.DataType == SystemIdentifier.DataType.Decimal.GetHashCode() || scj.DataType == SystemIdentifier.DataType.Int.GetHashCode() ||
                    scj.DataType == SystemIdentifier.DataType.String.GetHashCode())
                    {
                        <input type="text" item="@scj.Item" value="@scj.Value" datatype="@scj.DataType" id="@scj.ID"/>                  
                    }
                </td>
                <td>
                    @scj.Remark
                </td>
            </tr> 
                    }
                }
            }
        }
    </tbody>
</table>

<script type="text/javascript">
    $(function () {
        String.formate = function () {
            if (arguments.length == 0)
                return null;

            var str = arguments[0];
            for (var i = 1; i < arguments.length; i++) {
                var re = new RegExp('\\{' + (i - 1) + '\\}', 'gm');
                str = str.replace(re, arguments[i]);
            }
            return str;
        }

        $("form[action^='/systemconfig']").submit(function () {
            var updated = "[";
            var systemconfig;
            var configValue = "";
            $("tr[id^='datagrid-row']").each(function () {
                systemconfig = "{ \"ID\":\"{0}\", \"Item\":\"{1}\", \"Value\":\"{2}\"}";
                if ($(this).find("input").attr("datatype") == "4") {
                    if ($(this).find("input").attr("checked") == "checked") {
                        configValue = "1";
                    }
                    else {
                        configValue = "0";
                    }
                    updated = updated + String.formate(systemconfig, $(this).find("input").attr("id"), $(this).find("input").attr("item"), configValue) + ",";
                    if ($(this).find("select").length > 0) {
                        configValue = $(this).find("select").attr('value');
                        updated = updated + String.formate(systemconfig, $(this).find("select").attr("id"), $(this).find("select").attr("item"), configValue) + ",";
                    }
                }
                else {
                    if ($(this).find("select").length > 0) {
                        configValue = $(this).find("select").attr('value');
                        updated = updated + String.formate(systemconfig, $(this).find("select").attr("id"), $(this).find("select").attr("item"), configValue) + ",";
                    }
                    else {
                        configValue = $(this).find("input").val();
                        updated = updated + String.formate(systemconfig, $(this).find("input").attr("id"), $(this).find("input").attr("item"), configValue) + ",";
                    }
                }
            });
            updated = updated + "]";
            $.ajax({
                url: "/systemconfig/add?updated=" + updated,
                type: this.method,
                success: function (data) {
                    if (data.IsSuccess) {
                        alert(data.Messages[0]);
                    }
                },
                error: function () {
                    alert('系统繁忙，请稍候再试');
                }
            })

            return false;
        });

        $("#systemconfig").datagrid({
            onClickCell: function (rowIndex, field, value) {
                $("input[item='增值税纳税人身份']").bind("click", function () {
                    if ($(this).attr("checked") == "checked") {
                        $("select[item='增值税纳税人身份,纳税人类型']").attr("disabled", false);
                    }
                    else {
                        $("select[item='增值税纳税人身份,纳税人类型']").attr("disabled", true);
                    }
                });
            }
        });
    });
</script>
